package core.manager;

import core.manager.impl.SupermercadoManagerImpl;


/**
 * @author andoniibarguchilorenzo
 * clase que devuelve un objeto objeto SupermercadoManagerImpl por medio de la
 * interface SupermercadoManager, lo hacemos asi (Singleton) para que
 * devuelva un solo objeto y no se queden varios almacenados   
 */
public class SupermercadoFactory {

	// http://es.wikipedia.org/wiki/Singleton
	private static SupermercadoManager supermercadoManager;

	private static void createInstance() {
		if (supermercadoManager == null) {
			synchronized (SupermercadoManagerImpl.class) {
				if (supermercadoManager == null) {
					supermercadoManager = new SupermercadoManagerImpl();
				}
			}
		}
	}

	public static SupermercadoManager getInstance() {
		createInstance();
		return supermercadoManager;
	}
}
